package com.bright.ghj.overt.manager;

import com.bright.ghj.overt.pojo.dto.FileItemDTO;
import com.bright.ghj.overt.pojo.dto.FileListDTO;
import com.bright.ghj.overt.pojo.dto.FilelistCwgkFooterDto;
import com.bright.ghj.overt.pojo.dto.MainModalDTO;
import com.bright.ghj.overt.pojo.po.primary.NavigateButtonCwgk;

import java.util.List;

public interface FileListManager {

    /**
     * 获取单个filelist
     * 注意：若filelist不存在，则返回null，注意异常捕获
     * @param fileName filelist_Cwgk的fileName
     * @return
     */
    FileListDTO getFileListByCache(String fileName);

    /**
     * 获取表头
     * @param tableName fileItem_cwgk的fileName
     * @return
     */
    List<FileItemDTO> listFileItemsByCache(String tableName);

    /**
     * 根据menuId获取mainModal 只获取有表名tableName的记录
     * @param menuId
     * @return
     */
    List<MainModalDTO> listMainModalByMenuIdByCache(String menuId);

    /**
     * 根据表名获取mainModal 一并获取子表mainModal
     * @param tableName
     * @return
     */
    MainModalDTO getMainModalByTableName(String tableName);

    /**
     * 根据mainModal的id获取mainModal  并获取子表mainModal
     * @param mainModalId
     * @return
     */
    MainModalDTO getMainModalById(Integer mainModalId);

    /**
     * 获取脚注配置
     * @param fileName
     * @return
     */
    List<FilelistCwgkFooterDto> getFooterByFileName(String fileName);

    /**
     * 获取打印按钮
     * @param fileName
     * @return
     */
    List<NavigateButtonCwgk> getButtonsByFileName(String fileName);

}
